home *** CD-ROM | disk | FTP | other *** search
-
-
-
- NNNNEEEETTTTTTTTEEEESSSSTTTT((((1111)))) NNNNEEEETTTTTTTTEEEESSSSTTTT((((1111))))
-
-
-
- NNNNAAAAMMMMEEEE
- nettest, nettestd - Performs client and server functions for timing data
- throughput
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- /etc/nettest [-c] [-C] [-d] [-f] [-F] [-h] [-b _b_u_f_s_i_z_e] [-S _t_o_s]
- [-n _c_o_n_n_s] [-p tcp|udp|iso] [-s_n] [-m] [-w] [_h_o_s_t [_c_o_u_n_t [_s_i_z_e [_p_o_r_t]]]]
- /etc/nettest [-c] [-C] [-d] [-f] [-h] [-b _b_u_f_s_i_z_e] -p unix|unixd|pipe
- [-n _c_o_n_n_s] [-w] [_c_o_u_n_t [_s_i_z_e [_f_i_l_e_n_a_m_e]]]
- /etc/nettest [-c] [-C] [-d] [-f] [-h] [-b _b_u_f_s_i_z_e]
- -p file _w_r_i_t_e_f_i_l_e _r_e_a_d_f_i_l_e [_c_o_u_n_t [_s_i_z_e]]
- /etc/nettest -V
-
- /etc/nettestd [-d] [-p tcp|udp|iso] [_p_o_r_t]
- /etc/nettestd [-d] -p unix|unixd|pipe [_f_i_l_e_n_a_m_e]
- /etc/nettestd [-d] -p file _r_e_a_d_f_i_l_e _w_r_i_t_e_f_i_l_e
- /etc/nettestd -V
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The nettest and nettestd commands invoke client and server programs that
- are used for timing data throughput of various methods of interprocess
- communication. For TCP and OSI connections, the nettest program
- establishes a connection with the nettestd program, and then it does
- _c_o_u_n_t writes of _s_i_z_e bytes, followed by _c_o_u_n_t reads of _s_i_z_e bytes. For
- UDP, the nettest program performs only writes; reads are not performed.
- The nettestd program, if used with UDP connections, reads the data
- packets and prints a message for each data packet it receives. The
- number and size of the reads and writes may not correlate with the number
- and size of the actual data packets that are transferred; it depends on
- the protocol that is chosen. If you append an optional k (or K) to the
- _s_i_z_e, _c_o_u_n_t, or _b_u_f_s_i_z_e value, the number specified is multiplied by
- 1024.
-
- The nettest and nettestd commands accept the following arguments:
-
- -c To specify that the data must be checked to verify its accuracy, use
- the -c flag. Because this is done by comparing one character at a
- time, using the -c option can cause noticeable throughput
- degradation. The data is verified by filling up the data buffer
- with a 32-byte repeating pattern of all the lower case letters and
- the first 6 upper case letters of the alphabet. This option is
- useful for detecting data that has been corrupted. If there is a
- problem with lost or duplicated data, this option may generate a
- large number of error messages.
-
- -C Similar to -c, except that the data is written out as a sequence of
- sequential 64-bit numbers in network byte order. Because this is
- done by comparing one word at a time, it is slightly faster than the
- -c option, but it can still cause noticeable throughput degradation.
- This option is useful for detecting data that has been lost or
- duplicated, as it resynchronizes itself when an error is
- encountered. However, if the size of the lost or duplicated data is
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- NNNNEEEETTTTTTTTEEEESSSSTTTT((((1111)))) NNNNEEEETTTTTTTTEEEESSSSTTTT((((1111))))
-
-
-
- not an even multiple of 8, it may not resynchronize properly.
-
- -d For TCP, UDP, and OSI connections, the -d flag turns on the socket-
- level debugging flag.
-
- -f Indicates that a full-size read must be issued. Usually, when a
- read returns a short count, both nettest and nettestd issue a read
- for the remaining data for that buffer, whether or not a short count
- was received. (The total number of bytes is not changed.)
-
- -F For TCP connections, the -F flag turns on the TCP_NODELAY socket
- option. The TCP code in the kernel usually tries to send only
- full-sized packets over the network; this is accomplished by
- delaying some writes until a full packet size accumulates. The -F
- flag disables this algorithm.
-
- -h To turn on hash marks to be printed, use the -h flag. Each time a
- complete buffer is written or read, a hash mark is printed. If a
- read returns a partial count and the -f flag is not specified, a
- period is printed. If the -f flag is specified, a hash mark is
- printed each time a read completes, regardless of the amount of data
- read.
-
- -b _b_u_f_s_i_z_e
- This option applies only to nettest. For TCP and UDP connections,
- use the -b flag to specify the amount of kernel buffering allowed.
-
- -b This option applies only to nettestd. Run as a background daemon.
- In this mode, nettestd will detach itself from its controlling
- terminal, and put itself into the background. In addition, all
- error messages are logged via syslog(3), instead of via perror(3).
- Note that if both the -C and -v options are used in conjunction with
- the -b option, any errors that are detected in the data stream will
- not be reported.
-
- -S _t_o_s
- For TCP and UDP connections, the -S option can be used to specify
- the Type-of-Service (TOS) value for the connection. (Not Supported)
- A check for the symbolic name _t_o_s in /etc/iptos determines the
- actual order. (The -t _t_o_s option is a valid synonym, for historical
- compatibility.)
-
- -n _n_c_o_n_n_s
- For TCP, UNIX and ISO connections, the -n option specifies the
- number of simultaneous connections to be opened. For each
- connection, a subprocess is created. Each subprocess, after
- establishing a connection to the server and negotiating the options,
- suspends itself. When all the connections have been established, a
- continue signal is sent to all the subprocesses to start them
- running at the same time. As each subprocess completes, it returns
- its timing results, and returns that information to the main
- process, which then prints out the individual timing information.
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- NNNNEEEETTTTTTTTEEEESSSSTTTT((((1111)))) NNNNEEEETTTTTTTTEEEESSSSTTTT((((1111))))
-
-
-
- After all the subprocesses have completed, aggregate timing results
- given. The aggregate timings are based on the total amount of data
- transferred by all the subprocesses, the start time of the first
- subprocess to begin writing its data to its server, and end time of
- the last subprocess to complete reading its data from its server.
- The synchronization information shows when each subprocess began
- running, the duration of the data transfer for each subprocess, and
- ending time of each subprocess. These times are relative to the
- start time of the first subprocess to began running.
-
- -p _p_r_o_t_o_c_o_l
- Specifies the protocol in use. The valid values for _p_r_o_t_o_c_o_l are
- tcp, udp, iso, unix, unixd, pipe, and file.
-
- If the -p option is not specified, tcp is the default.
-
- The unix protocol uses UNIX domain stream sockets; _f_i_l_e_n_a_m_e can be
- specified to override the default file name nt_socket.
-
- The unixd protocol uses UNIX domain datagram sockets; _f_i_l_e_n_a_m_e can
- be specified to override the default file name nt_dsocket.
-
- For pipe protocol connections, two named pipes are created when you
- specify _f_i_l_e_n_a_m_e, one for reading and one for writing. The nettest
- program creates the names of these files by appending R and W to
- _f_i_l_e_n_a_m_e. The default names are nt_pipeR and nt_pipeW.
-
- For file protocols, _w_r_i_t_e_f_i_l_e is the name of the special file to
- which information is written; _r_e_a_d_f_i_l_e is the name of the special
- file that is read. The order of _w_r_i_t_e_f_i_l_e and _r_e_a_d_f_i_l_e is reversed
- between nettest and nettestd. This allows the same file names to be
- specified in the same order for both nettest and nettestd, because
- the file to which nettest writes is the file from which nettestd
- reads, and vice versa. The intent of this option is to allow
- nettest to be run across arbitrary devices that have a character-
- device interface that can be accessed just by opening up a special
- character file for reading or writing. It is not intended for
- reading or writing to a regular file.
-
- -s_n Increases the maximum TCP window by a factor of 2^_n; 1 _< _n _< 14.
-
- -m Indicates that for datagram connections (-p udp and -p unixd) that
- nettest should use the sendmsg system call insted of the sendto
- system call (see send(2)), and that nettestd should use the recvmsg
- system call insted of the recvfrom system call (see recv(2)), For
- other protocols this option is ignored.
-
- -w Use the MSG_WAITALL flag when calling recv(2). This allows the
- kernel to accumulate incoming data so that the read buffer is filled
- before returning control to the application. The use of this option
- negates the need for the -f option.
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- NNNNEEEETTTTTTTTEEEESSSSTTTT((((1111)))) NNNNEEEETTTTTTTTEEEESSSSTTTT((((1111))))
-
-
-
- -V Print out information about the version of the program.
-
- _h_o_s_t For TCP, UDP, and OSI connections, _h_o_s_t is the name of the machine
- on which the server is running. If this is omitted or specified as
- -, the name that gethostname(2) returns is used.
-
- _c_o_u_n_t
- Specifies the number of read or write operations. A value of -
- indicates that the default value must be used. The default value is
- 100.
-
- _s_i_z_e Specifies the number of bytes to be read or written. A value of -
- indicates that the default value must be used. The default value is
- 4096.
-
- _p_o_r_t For TCP and UDP connections, specify _p_o_r_t to select an alternate
- port number. The _p_o_r_t must be a decimal number.
-
- The output from nettest is timing information and a histogram of the
- various sizes that the read operations returned. System load affects the
- results because all throughput times are calculated from wall-clock
- times. The percentages listed for system and user times are percentages
- of wall-clock time.
-
- The write time is measured from the time at which the application starts
- its first write until the time it completes its last write. The read
- time begins when the last write is complete and ends when the last read
- is complete. Because the kernel may buffer outgoing data, if everything
- on the network is working correctly, it is normal for the write times to
- be slightly faster than the read times. This difference in throughput
- represents the amount of buffering in the kernel and the network round-
- trip time. The read and write time is measured from the time the first
- write is started to the time the last read is completed; thus, if the
- speed of the network is the same in both directions and both machines
- have the same processing power and load, the read and write times are the
- most accurate.
-
- The histogram output shows the sizes that the read system calls return.
- These may not have any correlation to the size and number of packets that
- are actually sent and received over the network. This is especially true
- for TCP connections.
-
- FFFFIIIILLLLEEEESSSS
- /etc/iptos IP (TOS) database (TOS is not supported)
-
- nt_socket and nt_dsocket Default name for stream and datagram UNIX
- domain sockets
-
- nt_pipeW, nt_pipeR Default names for named pipes
-
-
-
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-
-
-
- NNNNEEEETTTTTTTTEEEESSSSTTTT((((1111)))) NNNNEEEETTTTTTTTEEEESSSSTTTT((((1111))))
-
-
-
- BBBBUUUUGGGGSSSS
- The -p pipe, -p unix and -p unixd options create named pipes and UNIX
- domain sockets, respectively, that remain after the programs exit.
-
- If -p pipe _f_i_l_e_n_a_m_e is specified and _f_i_l_e_n_a_m_e is either a relative or
- absolute path name, neither nettest nor nettestd insert the W and R
- before the final component of the path name; they are always prepended to
- the entire file name.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- gethostname(2), recv(2), and send(2)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 5555
-
-
-
-